package com.partvoyage.client.service.infopoint;

import java.util.Date;
import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.partvoyage.shared.InfoPointBean;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface InfoPointServiceAsync {
	void greetServer(String input, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	void create(Long projetCourantId, Double latitude, Double longitude,
			String comment, String commentaire, String cout, String avecQui,
			Date quand, String ou, String codePays, Integer zoomLevel,
			Long markerIdDesination, AsyncCallback<InfoPointBean> callback);

	// void findAll(AsyncCallback<List<InfoPointBean>> callback);

	void findAllByProjetId(Long projetId,
			AsyncCallback<List<InfoPointBean>> callback);

	void findById(Long markerId, AsyncCallback<InfoPointBean> callback);

	void deleteAllByProjetId(Long projetId, AsyncCallback<Void> callback);

	void update(InfoPointBean infoPointBean,
			AsyncCallback<InfoPointBean> callback);

	void getPlaceName(Double latitude, Double longitude,
			AsyncCallback<String> callback);

	void supprimerPoint(Long infoPointId, AsyncCallback<Void> callback);

	void getImgFromFriends(String where, AsyncCallback<List<String>> callback);

}
